//package leetcode;
//
//import sun.reflect.generics.scope.ClassScope;
//
//import java.util.Arrays;
//
//class UnionFindSet {
//    public int[] elem;
//    public int usedsize;
//
//    public UnionFindSet(int n) {
//        this.elem = new int[n];
//        Arrays.fill(elem, -1);
//    }
//
//    //查询x的根节点
//    public int findRoot(int x) {
//        if (x < 0) {
//            throw new IndexOutOfBoundsException("下标不合法，是负数");
//        }
//        while (elem[x] >= 0) {
//            x = elem[x];
//        }
//        return x;
//    }
//
//    //查询x y 是不是同一个集合
//    public boolean isSameUnionFindSet(int x, int y) {
//        int index1 = findRoot(x);
//        int index2 = findRoot(y);
//        if (index1 == index2) {
//            return true;
//        }
//        return false;
//    }
//
//    //合并
//    public void union(int x, int y) {
//        int index1 = findRoot(x);
//        int index2 = findRoot(y);
//        if (index1 == index2) {
//            return;
//        }
//        elem[index1] = elem[index1] + elem[index2];
//        elem[index2] = index1;
//    }
//
//    //
//    public int getCount() {
//        int count = 0;
//        for (int x : elem) {
//            if (x < 0) {
//                count++;
//            }
//        }
//        return count;
//    }
//
//    public void print() {
//        for (int x : elem) {
//            System.out.print(x + " ");
//        }
//        System.out.println();
//    }
//
//}
//
//class Solution {
//    public int findCircleNum(int[][] isConnected) {
//        int n = isConnected.length;
//        UnionFindSet unionFindSet = new UnionFindSet(n);
//        for (int i = 0; i < isConnected.length; i++) {
//            for (int j = 0; j < isConnected[0].length; j++) {
//                if (isConnected[i][j] == 1) {
//                    unionFindSet.union(i, j);
//                }
//            }
//        }
//        return unionFindSet.getCount();
//    }
//}
//
//public class Test1 {
//    public static void main(String[] args) {
//        Solution solution = new Solution();
//        int[][] arr = {{1, 1, 0}, {1, 1, 0}, {0, 0, 1}};
//        solution.findCircleNum(arr);
//    }
//}
